/*
 * @Author: 小花
 * @Date: 2022-04-07 10:03:49
 * @LastEditors: 小花
 * @LastEditTime: 2022-05-12 16:40:57
 * @FilePath: /vue3-teap/src/plugins/store/store.ts
 * @Description:
 */
import { defineStore } from 'pinia'
import { TUserData } from '@/model/Login/support/UserData'
import { IRole } from '@/model/main/layout/dynamicNav/PermissionPage/RoleManage'
import { IPermission } from '@/model/main/layout/dynamicNav/PermissionPage/PermissionManage'

export const useStore = defineStore('main', {
  state: () => ({
    // 公钥
    publicKey: '',
    // 用户登录信息
    userData: <TUserData>{},
    // 角色信息
    role: [] as IRole[],
    // 权限信息
    permission: [] as IPermission[]
  }),
  getters: {},
  actions: {
  },
  // 开启数据缓存
  persist: {
    enabled: true,
    strategies: [
      {
        // 自定义名称
        key: 'loginInfo',
        // 保存位置，默认保存在sessionStorage
        storage: localStorage
        // 指定要持久化的数据，默认所有 state 都会进行缓存，你可以通过 paths 指定要持久化的字段，其他的则不会进行持久化。
        // paths: []
      }
    ]
  }
})
